home *** CD-ROM | disk | FTP | other *** search
- Path: uunet!zephyr.ens.tek.com!tekred!saab!billr
- From: billr@saab.CNA.TEK.COM (Bill Randle)
- Newsgroups: comp.sources.games
- Subject: v11i089: larn - dungeon type adventure game, Part06/11
- Message-ID: <6720@tekred.CNA.TEK.COM>
- Date: 18 Dec 90 18:33:58 GMT
- Sender: news@tekred.CNA.TEK.COM
- Lines: 1223
- Approved: billr@saab.CNA.TEK.COM
-
- Submitted-by: routley@tle.ENET.DEC.COM (Kevin Routley)
- Posting-number: Volume 11, Issue 89
- Archive-name: larn/Part06
- Environment: Unix, VMS, MS-DOS, termcap
-
-
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 6 (of 11)."
- # Contents: larn.maz larn122.doc tgetstr.c
- # Wrapped by billr@saab on Tue Dec 18 10:14:19 1990
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'larn.maz' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'larn.maz'\"
- else
- echo shar: Extracting \"'larn.maz'\" \(27769 characters\)
- sed "s/^X//" >'larn.maz' <<'END_OF_FILE'
- XD###################################################################
- X# # . # # # # # . #
- X# D D . . D . #
- X###D########################################## # # ###D###
- X# -# #. # # ################ . .#
- X# ####### ######## ############ D #### # # #
- X# ... #.# # # # . # # # #### # ############ # ###D###
- X# #.# # # ## # # # ############ #### # #- # # # #. #
- X# . # # # # ## #- # # # - D #### # # . D # #.# # ... #
- X# # #.# # # # # # . . # # # # # # #-# # ~.! #
- X###D### ### #######D## # ############ ###### ########## ### #######
- X# # @ .# # ..... ...#
- X###D###########################################################D###
- X# . #.....# # # # -# # # # # #
- X# ..... . D D D D. #
- X# #.....# # # # # # .# # # #
- X###################################################################
- X
- X###################################################################
- X#.. . D # . # #- #
- X############# ######### # ## ### ##### ## #### ###### ####### ### #
- X#.#!#~# # # .-# # #- # # # # -# # # #
- X# # #.# . # ####### # # # # # # # # # #####
- X# # ..# ##### # # # #### # ## ## ## # ###### ####### # #
- X# - ..D # D # . D # # # #.##### ## ## # #. #.# #..# # ### #
- X####### ####### ### # # # # # # D # D D #..D # #
- X#- # # # #### # ###### # ## # #. # #..# #####
- X### #######################- # # # ###################### # #
- X# ... # . #..# ### # - .. . #. ### #
- X# # # # ### #################### # # #
- X# ### #
- X################################################################# #
- X#- D ### # # # #
- X# . # # # D #
- X###################################################################
- X
- X###################################################################
- X# .. #
- X# ############## ############################################## # #
- X# # # # # .. # # #
- X# #D## # # ############D################# ########### # # #
- X######### #- # # # #- D # # ~ # # # # # # #
- X# # # # # # # ### # # # D - # # ####### # # # #
- X# .... # #### # # # #!# # # ###### .. #.# # # # # # #
- X# .... # # # # ### # # # # #########D#### # ### # # # # #
- X# .... ######## # # D # #- # #.. # ...#.# # #.# # # # # #
- X# # # ### # #### #.- D - #.# #.#.# # # # # #
- X#####DD## ######## # # D D. # # # #...# # # # # #
- X# # ..# # # # ############################## # ##### # # # # #
- X# ......# # # # # # # # # #
- X# ####### ###### ################################ ######### # ### #
- X# .D. # #
- X###################################################################
- X
- X###################################################################
- X# ## ## ### ## #
- X# ##### ## ..- ## ##.## ## #
- X# # ! ## ## . ## ## .## .. ## #
- X# #....###### ## ## ## . ## ## #
- X# # - # ## ##D# ## . ## ## #
- X# #####D ~ ####### ###........ ## ... ## ## #
- X# # # ## ## .... ## . ## ## #
- X# #. ######## ## ## . - ####D#### - #
- X# #.- #...## ## ... ## ### ...... ## ## #
- X# #. #..## ## ######### ## ... ## ### ## .. #
- X# #.. #.## ## ## - ## . #### ## ## ##### ## #
- X# #####D## ## ## ###### ## ## ####### ## #
- X# D -.## #### ######## ##DD## ######## #D #
- X# ###### ... ## ########## ## #
- X#### . . ###
- X###################################################################
- X
- X###################################################################
- X# #
- X# ####.########################################## ## ##########
- X# # #.#.#.# #.. #. # # #
- X####### # # # # # ##### #! # ########### # ### #
- X# # # # # # # ##...## # # # # # #-# #
- X# ..- D # # # # # ## . ## ####D##### .. ### # # # #
- X# # # # ##. ~ .## # # ### # # ##### # #
- X############ # # # # ## . . .## #...# .. #.# # # # #
- X# .. .# # # # # ## - ## # # D.D # ######### #
- X# . D # # # # ##.......## ####D#####.# # #
- X# - . # # # # # ## ## # . # ### ########### #
- X############ #.#.# # ###D### # . #....# # #
- X# # #-# D .. # .# ###....## ##-### #
- X#### ########################################## ###### ### #
- X# . #
- X###################################################################
- X
- X###################################################################
- X# #
- X# ###########################D####### ## #
- X# ####################### # ##...... ## ## #
- X# ########D###### # # !##.... ## ## #
- X# ############ ## ## ... # # #...## ~ ## ###### #
- X# # # # # ...... # # # .. ##### ## #
- X# # - .. # # # ########### # # . ######### ## #
- X# ##### ##### # # # # #... ## ## #
- X# # # ########## ######## ########DD#### ####### #
- X# # # .... # # # # # ## ## #
- X# ##### # # ....# # ######### # # ##### ## #
- X# #- ######D##########..# # ######### # - #.. ## ## #
- X# ##### # # # #... #.....## #
- X# # ################### ###############... #### # ######
- X# # #
- X###################################################################
- X
- X###################################################################
- X# #
- X########### ##### ##### #####D#### ##### ###### #
- X#.. # #-..D ###### ## # ## # ## ..## ### #### #
- X# #### ### ##### # ## # ##### # ## ### ## # # #
- X# # # # # # ##### # ## # # #### # #..##### - ### #
- X# # # ####### ### #...# # ######## # # #~. .... # #
- X# # # # #...# # # ######### ############## #
- X# # ###### ####### # ### ### # .. # #
- X# # # - # #-#####!# # # #### ## #### # #
- X# ###### # ########## #.. ....# # ######## # # # ## ## #
- X# -.# ##### ####...## # . .# #..# # ## # #
- X# #### ###### #.### #####.#### #### ### ## # #
- X# #- #######....#### ...... #.# . # ## # #
- X# ####### ##### ###########.############### ### #
- X# . #
- X###################################################################
- X
- X###################################################################
- X# # #- . # # # # # # # # #
- X# # # #####.##### # # # # # # # # # # ###########D########### #
- X# # ##### # # ### # # # # # # # # # ### #.... # # # #
- X# # # # # # # # # # # # # # #.!. -.. #.##.# # #
- X# # . - # # ####### # # # # # # # # # ########## ## # #
- X#.####### # # D # . # # #
- X#. -# ################################################### #
- X# ##### D. . #
- X# # ### ###D### ### ### ###D### ### ### ###D### ###.### #
- X# # ###### ### .# .# #. # # # # # # # # . # #
- X# ### # -# ### .#. - .# # # #...- # # .. # # -..# # . # #
- X# # # ### #. ~ .# # # # # # # # .. .# # # #
- X#.###### # ### # # #.....# # # # # # # # # #
- X# # ####### ####### ####### ####### ####### ####### ####### #
- X# # ... .. #
- X###################################################################
- X
- X###################################################################
- X# # . # ### # # # # . #
- X# D D . # . D . #
- X############################################### # # ###D###
- X# -# #. # # ################ . .#
- X# #######D######## ############ # #### # # #
- X# ... #. # #!~ . # # # #--# # ############ #####D###
- X# #.# # # ## # # # ############ #--# # #- # # # #. #
- X# . # #-# # ## #- # # # - D ## # # # . D #### #.# # ... #
- X# # #-# # # # # # . . # # # # # # #-# # -.- #
- X###D### ### ####### ## # ############ ###### ########## ### ###D###
- X# # @ . ..... ...#
- X##################################### ###############D###
- X# . #.....# # # # -# # # # #
- X# ..... . D D D D. #
- X# #.....# # # # # .# # # #
- X###################################################################
- X
- X###################################################################
- X#.. . # D . #- #
- X### ######### ######### # ## ### ##### ## ########### ####### ### #
- X#.# # # # .-# # #- # # # # -# # # #
- X# # #.# . # ####### # # # # # # # # # #####
- X# # ..####### # # # #### # ## ## ##!# ###### ####### # #
- X# - ..D # D # . D # # # #.##### ## ## # #. #.# #..# # ### #
- X####### ####### ### # # # # # # D # D D #..D # #
- X#- # # # #### # ###### # ## # #. # #..# #####
- X### #######################- # # # ###################### # #
- X# ... # . #..# ### # - .. . #. ### #
- X# # # # #-# #################### # # #
- X# # -# #
- X################################-################################ #
- X#-..... # ####D ### # # # #
- X#~..... # # # # D #
- X###################################################################
- X
- X###################################################################
- X# .. #
- X# ############## ############################################## # #
- X# # # # # .. # # #
- X# #D## # # ############D################# ########### # # #
- X######### #- # # # #- D # #.!..# # # # # # #
- X# # # # # # # # ### ## # #....D - # # ####### # # # #
- X# .... # #### # # # #~# # # ###### .. #.# # # # # # #
- X###....## # # # ###.# # # #########D## # # ### # # # # #
- X# .... ######## # # D .# #- # .. # ...#.# # #.# # # # # #
- X# # ## # ### .# #### .- D - #.# #.#.# # # # # #
- X#####DD## ######## #... .# . # # # #.#. # # # # #
- X# # ..# # # ############################## # # ##### # # # #
- X# ......# # # # # # # # # # #
- X# ####### ###### ################################D# ######### ### #
- X# .D. #-.-#
- X###################################################################
- X
- X###################################################################
- X# ## ## ## ## ## #
- X# ############## ## ..- ## ## . ## ## #
- X# # # ## ## . ## ## . ##.. ## #
- X# #....###### ## ## ######## ####### . ## ## #
- X# # - # ## ## ##D# ## . ## ## #
- X# # D###### ###........ ## ... ## ###### #
- X# # # ## ## .... ## . ## ## - # #
- X# #. ######## ## ## . - ####D####.. D #
- X# #.- #...## ## ... ## ### ...... ## ##### #
- X# #. #..## ## ######### ## ... ## ### ## .. #
- X# #.. #.## ## ## - ## . #### ## ## ##### ## #
- X# #####D####### # ## ## ##..## ## ## ## ## ## #
- X# D -.## # # #### ##.-.-## ##DD## ### #### ## #
- X# ######. ...# #### ## #### ##### ## ##D#
- X####~!.... D . . #
- X###################################################################
- X
- X###################################################################
- X# #
- X# ####.########################################## ## ##########
- X# # #.#.#.# #.. . # # #
- X####### # # # # # ############# # ########### # ### #
- X# # # # # # # --##...##-- # # # # #-# #
- X# ..- D # # # # # #-## . ##-# ####D##### .. ### # # # #
- X# # # # ###. .### # ~ # ### ### ##### # #
- X############ # # # # ## . . .## #...# .. #.# # #
- X# .. .# # # # # ## - ## # # D. # ######### #
- X# . D # # # # ###.......### ####D#####.# # #
- X# - . # # # # # -## ##- # . ### ########### #
- X############ #.#.# # ######D###### # . ....# # #
- X# #!#-# # .. # . ###....## ##-### #
- X#### ############################## ########## ###### ### #
- X# D . #
- X###################################################################
- X
- X###################################################################
- X# #
- X# ###############D####################D# #
- X# ####################### # ##...... # #
- X# ########D###### # # ##.... # #
- X# ############### ## ## ... # # #...## ##### #
- X# # ~ # # #!...... # # # .. ##### # #
- X# # - .. # # # ########### # # . ######### # #
- X# ##### ######## # # # # # #... ## # #
- X# # # # ########## ######## ########D #### ###### #
- X# # # ....# # # # # # ## # #
- X# ##### # ###### # ....# # ######### # # #####D# #
- X# #- ## # #######..# # ######### # - #.. #
- X# ##### # # # #... #..... #
- X# # ################### ###############... #### ######
- X# # #
- X###################################################################
- X
- X###################################################################
- X# # #
- X########### ##### # #####D#### ##### ###### #
- X#.. # #~..D ###### ## # ## # ## ..## ### #### #
- X# #### ### ##### # ## # ##### # ## ### ## # # #
- X# # # # # # ##### # ## # # #### # #..##### - ### #
- X# # # ####### ### #...# # ######## # # #!. .... # #
- X# # # # #...# # # ######### ############## #
- X# # ###### ####### # ### ### # .. # #
- X# # # - # #- # # # ######## #### # #
- X# # # ########## #.. ....# # ######## # ## ## #
- X# # -. ##### ####...## # . .# .. # # #
- X# # ###### ##### #####.#### ####### # #
- X# # - #######....#### ...... #.# . # ## # #
- X# ######### ##### ###########.############### ### #
- X# . #
- X###################################################################
- X
- X###################################################################
- X# D D #-..........# # # # # #
- X#D#D# #####.#####.# # # # # # #############D########### #
- X# # ##### #.#~###.# # # # # # ### .... # # # #
- X#D# # #.......# # # # # # # . . -.. #. #.# # #
- X# # . - # #.####### # # # # # ################## # #
- X#D####### #. # D # . # # #
- X#. D D -# ################################################### #
- X# ###### . . #
- X# # D ### ###D### ####### ###D### ####### ###D### ####### #
- X# # ###### # # .# .# #. # # # # # # # # . # #
- X# ### -# # # .#. - .# # # #...- # # .. # # -..# # . # #
- X#DD# # # # #. .# # # # # # # # .. .# # # #
- X#.###### # # # # #.....# # # # # # ! # # # #
- X# # ####### ####### ### ### ####### ### ### ####### ### ### #
- X# # ... .. #
- X###################################################################
- X
- X###################################################################
- X# D ## ## ## ## # # #
- X# - . # ####### ## -.- ## ## ## #### D #
- X#### # #.#-#.# .#. # .## ## # ####### . ### # #
- X# # - ##-#.#D ### # ..## ## ##D ### ### ### ##### #
- X# . # # # #.# .#. #- ##...##..###### # # # # # #
- X# #### ####### ### -## ##--## ##### #### # -.D #
- X# # # # ######D############# ########### # #
- X#####D# ########### D D # # # .##D## #
- X# # # # # #### # #####D############ ###- D ## ####
- X# ##### ####### # #!.#-# # # . D ## # # .# #~.#
- X# # # # # #..#####.# # ### # ## ##D###### #..#
- X##### # D #.# # - # # # ### ##### # # .# # ##.##..#
- X# . # # # # #D## # ####### . # .## .D ## # #
- X##### # ####### # # # ### # # ## # -# # D #
- X# # # ########### # ### ##### # #
- X###################################################################
- X
- X###################################################################
- X# # # # #
- X# # D # ######### #########################.#### #
- X#####.# # # ####D#### # #.#.#.# # #
- X# # # # # ##### # # # # # #D# # # # # # #######
- X# # ##### # #...# # . # - # # ## ## # # # # # # . #
- X# # ## # - # D.#~#-# # # # ##...## # # # # # D..! #
- X# #### ### ###.. #.####D#### # ## ## # # # # # # . #
- X# # # # #####.# # # # #. - .# D D D D ############
- X# ## # ## # # . # # ## ## # # # # #. .. #
- X# ######.### # ## ## # # # ## ## # # # # D . #
- X# ## # ## ##..##D#### # ## ## # # # # # . - #
- X# #. # #D## ## ## # # #. ### # #.#.# # ############
- X# ### ### #### # #-. # #-# # D #
- X# # #. # ### # # - # ########D#################### . ####
- X# # # # # # # # D #
- X###################################################################
- X
- X###################################################################
- X# # - # ## ### # #
- X# ## # ################## # ## #### # ##### #D### #
- X# . # # # ##### D # # - # .. # # #
- X# #### # # ###D### - # -- . D D # ### # # # #
- X# ### # ## ## # ###### #### # # # # # # #
- X### #### ## ##### # #### # ### # # # # #
- X# # ########- ## ## # # ############################## #
- X# # ### ## ## ### D . #
- X# # ## #### ## ##!# # ###D### ####### ###D### ####### ###D### #
- X# # ## ## .###..##### # # #..~..# # # # # # . # #
- X###D#D### ##..#..## # # .- .# # . # # .. # # -..# # . # #
- X# # # ##...## - # # . .# # # # # # .. .# # # #
- X# . # .. ###### # # .# #. # # # # # # # #
- X# D ######### # ####### ###D### ####### ###D### ####### #
- X# # # D # #
- X###################################################################
- X
- X###################################################################
- X# # # # ## ## ## ## D #
- X# #. # -# # # # # ####### D##...## ####### ### ###### ###### #
- X# # # ## ## #! .##.# ## ## D.# # #~.. D #
- X####D###### # # .####...## ## # #######D### #######. # # .### ##
- X# # # ## ####D## ## # # ## .. # #### # ##
- X# ######## # ## ### ### ## ## #### ### # ## # # #
- X# ######## ###### # . ## ### # # ######D############# #
- X# . ## - ####### # # #
- X# ####### # . ## ### ## D. #####D###########D###
- X#####D##### # # ###. ### ##### ### - ## ### # # # # #
- X#. -# #.# # ####### ## # # ## # # . - . D #
- X#####D##### # # # ## # # ###### # # # # # #
- X#- .# # # #####D###### # # . # # #### ######D###########
- X##### ##### # # D # # D # # # # #### #
- X# D # D # # D # # .. #
- X###################################################################
- X
- X###################################################################
- X# D ## ## ## ## # # #
- X# - . # ####### ## -.- ## ## ## #### D #
- X#### # #.#-#.# .#. # .## ## # ####### . ### # #
- X# # - ##-#.#D ### # ..## ## ##D ### ### ### ##### #
- X# . # # # #.# .#. #- ##...##..###### # # # # # #
- X# #### ####### # ### -## ##--## ## ## ### # -.D #
- X# # # # ## ######D###### ##### ####D###### # #
- X#####D# ########### D D # # ..##D## #
- X# # # # # #### # #####D############ ###- D ## ####
- X# ##### ####### # # .#-# # # . D ## # # .!# # #
- X# # # .. # # #. #####.# # ### # ## ######### . # #
- X##### # D #.#~# - # # # ### ##### # # .# # ##D##..#
- X# . # # .. # # #D## # ####### . # .## .D ## # #
- X##### # ####### # # # ### # # ## # -# # D #
- X# # # # # # ### ##### # #
- X###################################################################
- X
- X###################################################################
- X# # . # # #
- X# # D .!# ######### #########################.#### #
- X#####.# . # # ####D#### # #.#.#.# # #
- X# # #.. # # ##### # # # # ## #D# ## # # # # # ###D###
- X# # ##### # #. # # . # - # # #- ## ## -# # # # # # # . #
- X# # ## # - # D.# #-# # # # ##...## # # # # # #..! #
- X# #### ### ###. #.######### # ## ## # # # # # # . #
- X# # # #~#####.# # # D #. - .# # D D D ############
- X# ## # .## # # . # # ## ## # # # # #. .. #
- X# ######.### #...## #.. # # # ## ## # # # # D . #
- X# ## #..## #####D#### # # ## ## # # # # # # . - #
- X# #. # #D## # # # #.## ### ## #.#.# # ############
- X# ### ### #### # #-. # #-# # D #
- X# # #. # ### # # - # ############################# . ####
- X# # # # # # # # D #
- X###################################################################
- X
- X###################################################################
- X# # - # # # ### # #
- X# ## # ################## # # # #### # ##### #D### #
- X# . # # # ##### D # - # .. # # #
- X# #### # # ###D##### - # -- . D D # ### # # # #
- X# ### # ## ## D # ##### #### # # # # # # #
- X### #### ## ##### # ##### ### # # # # #
- X# # ########- ## ## # # ############################## #
- X# # ###~.## ## ### D . #
- X# # ##..#### ## ## # # ###D### ####### ###D### ####### ###D### #
- X# #. ## ## .###. ##### # # #. .# # # # # #.....# #
- X##D##D### ##. #. ## # # .- .# # . # # .. # # -..# #.....# #
- X# # # ##. ## - # # . .# # # # # # .. .# # # #
- X# . # .. ###### .. # # .# #. # # # # # # ! # #
- X# D #########D## ####### ### ### ####### ### ### ####### #
- X# # # D # #
- X###################################################################
- X
- X###################################################################
- X# # # # ## ## # # D #
- X# #. # -# # # # # ####### D##...## ####### ### ###### ###### #
- X# # # # # # ## ## # .. ##.# ## ## D.# # # . D #
- X# . # # # .#### ### # # #######D### #######. # # .### ##
- X####D###### # ## ####D## # # # # # ##. # #### # ##
- X# # # ## ### #### # ## #### ### # # . # # #
- X# ##### # ###### # . ## ### # # ######D############# #
- X# ##### # . ## - ####### # #
- X# ####### # . ## ## # D. ##D###################
- X#####D##### # # ###. ### ### # # - ## # # # # # ...#
- X#. -# #.# # ####### ## # # ## # . - . D ..!#
- X########### # # # ## # ########### # # # # ...#
- X#- .# # # #####D###### # # . # # ##D###################
- X##### ##### # # D #..# D # # # # # # #
- X# D # D #.~# D # # # .. #
- X###################################################################
- X
- END_OF_FILE
- if test 27769 -ne `wc -c <'larn.maz'`; then
- echo shar: \"'larn.maz'\" unpacked with wrong size!
- fi
- # end of 'larn.maz'
- fi
- if test -f 'larn122.doc' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'larn122.doc'\"
- else
- echo shar: Extracting \"'larn122.doc'\" \(18526 characters\)
- sed "s/^X//" >'larn122.doc' <<'END_OF_FILE'
- X
- X
- X PC LARN version 12.2 for IBM PC Compatibles
- X -------------------------------------------
- X
- X
- X Table of contents
- X -----------------
- X
- X
- X 1. Introduction
- X 2. System requirements
- X 3. Files Supplied
- X 4. Installation
- X 5. Configuration
- X 6. Command line options
- X 7. TERMCAP
- X 8. WIZARD mode
- X 9. History and other Information
- X
- X
- X
- X
- X 1. Introduction
- X ---------------
- X
- X LARN is a dungeon type adventure game similar in concept to HACK, ROGUE
- X or MORIA, but with a different feel and winning criteria. LARN was
- X released for the UNIX environment in 1986 by Noah Morgan. It was
- X subsequently ported to the MS-DOS environment by Don Kneller. Kevin
- X Routley has been working on enhancements to LARN on and off for the
- X past year.
- X
- X
- X 2. System requirements
- X ----------------------
- X
- X PC LARN requires:
- X
- X - MS-DOS or PC-DOS 2.x or above.
- X
- X - at least 256K of RAM.
- X
- X - disk storage capacity of at least 360K, although twice that much is
- X preferred if you want to "checkpoint" your game to prevent
- X accidental lose due to a system failure.
- X
- X - the ANSI.SYS device driver must be installed (although the NANSI.SYS
- X driver is *strongly* preferred and has been included in this
- X distribution). You should install either ANSI.SYS or NANSI.SYS, but
- X not both. To install NANSI.SYS, put the line "device=NANSI.SYS" in
- X your CONFIG.SYS file. See the TERMCAP section for further details.
- X
- X
- X 3. Files supplied
- X -----------------
- X
- X The following files should be included in this LARN122.ZIP file:
- X
- X LARN122.DOC This documentation.
- X
- X LARN122.FIX Changes made between LARN V12.0 and V12.2.
- X
- X LARN122.EXE The executable file.
- X
- X LARN.FTN Fortune cookie messages.
- X
- X LARN.HLP A help file, which can be read with the "?"
- X command in LARN.
- X
- X LARN.MAZ Some maze levels are pre-calculated and
- X stored here.
- X
- X LARN.OPT An example LARN.OPT file (see the CONFIGURATION
- X section).
- X
- X TERMCAP A file describing the escape sequences to send
- X to the terminal. The supplied TERMCAP file is
- X for monochrome systems. See the TERMCAP section
- X for details on changing TERMCAP.
- X
- X NANSI.DOC The documentation for NANSI.SYS.
- X
- X NANSI.SYS A new ANSI.SYS that is *much* faster than
- X ANSI.SYS and supports the line insert and line
- X delete escape sequence that LARN uses. This
- X excellent product is written by Daniel Kegel.
- X See the TERMCAP section and NANSI.DOC for more
- X details.
- X
- X
- X 4. Installation
- X ---------------
- X
- X NANSI.SYS or ANSI.SYS must be installed as a device driver on your
- X system in order for LARN to work (see System Requirements above).
- X
- X For a hard disk system I suggest creating a \GAMES\LARN directory and
- X placing LARN and the provided support files in that directory. Following
- X that, you would place \GAMES\LARN in your PATH.
- X
- X LARN will create several other files (LARN.SCR, LARN.PID, LARN.LOG)
- X in that directory. Also, save files (LARN.SAV) and checkpoint files
- X (LARN.CKP) will go in there by default. You will want to set the
- X 'larndir:' option in your LARN.OPT file (see the Configuration section
- X below) to point to this directory.
- X
- X For two-floppy systems, I would suggest the following:
- X
- X o place LARN122.EXE, LARN.OPT and TERMCAP. on disk one.
- X
- X o place LARN.FTN, LARN.MAZ, and LARN.HLP on disk two. This will
- X be the 'larndir:' disk (see the Configuration section below).
- X LARN.SCR, LARN.PID, LARN.LOG, save files, and checkpoint files
- X will go on this disk.
- X
- X
- X 5. Configuration
- X ----------------
- X
- X PC LARN is configured by options placed in the file LARN.OPT.
- X When PC LARN starts up, it looks in the current directory for
- X this file, then in directories along your PATH. Here are the
- X options that can be put in LARN.OPT.
- X
- X Options that are followed with a colon, ":", take at least one
- X argument. Options without a colon are boolean, meaning you select
- X that option merely by mentioning it.
- X
- X
- X These options are only in PC LARN:
- X
- X cursor: start-line end-line
- X Normally, LARN uses the standard DOS cursor (the flashing
- X underscore) to show where your player is located. This can be
- X difficult to see. This option results in a *BIOS* call to change
- X the cursor size. For a monochrome display, the normal value of
- X start-line and end-line is 11 and 12. Values of 4 and 9 give a
- X larger cursor which is not too obtrusive.
- X
- X If "cursor" is not specified, no BIOS call is made.
- X
- X DECRainbow
- X Put this in LARN.OPT if your computer is a DEC Rainbow and you
- X want to use graphics characters for drawing the maze. You can
- X use any characters from the ASCII character set and from the
- X "line-drawing" character set. To use line-drawing characters,
- X take the decimal value of the character and add 128 to it. This
- X makes the values of line-drawing characters lie between decimal
- X 128 and 255 and tells PC LARN you want a line-drawing character.
- X
- X Every attempt has been made with PC LARN V12.2 to maintain
- X DECRainbow compatibility as provided by Don Kneller.
- X Unfortunately, since I do not have access to a Rainbow, I cannot
- X make any guarentees.
- X
- X graphics: wallc floorc
- X In UNIX LARN, the wall character is a # and the floor character
- X is a blank (which makes it almost impossible to tell where you've
- X been). In PC LARN, the default wall character is also a # but
- X the default floor character is a period.
- X
- X This option allows you to change these characters to something
- X you like. Suggested characters are 176 (a graphic block) and
- X 249 (a central dot).
- X
- X Almost all ASCII (non-graphics) characters already represent
- X objects in LARN, so you should only choose numbers that are
- X in the graphics character set (i.e. those with decimal values
- X greater than 128).
- X
- X keypad
- X This enables the keypad for use with LARN. A *BIOS* call is used
- X to read the keypad. The correspondance between keypad and game
- X command is:
- X
- X Keypad Command
- X 7 8 9 u+l(y) up(k) u+r(u)
- X \ | / \ | /
- X 4 -5- 6 left(h) nothing right(l)
- X / | \ / | \
- X 1 2 3 d+l(b) down(j) d+r(n)
- X Ins inventory(i)
- X
- X The letter in () is the game command letter. "u+l" means up and
- X left. The keypad "7" is translated to the command for moving one
- X space up and left. With shift the commands are the same as the
- X uppercase letters.
- X
- X larndir: directory
- X Sets "directory" to be the place LARN looks for files. For hard
- X disks set this to be \GAMES\LARN. For 2-floppy systems, use B:
- X
- X If "larndir" is not specified, the current directory is assumed.
- X
- X ramlevels: number
- X This number is the maximum number of levels PC LARN will keep in
- X memory. The number can be between 1 and 14. Normally, PC LARN
- X will use as much memory as available, but you may want to use
- X less so there will be enough memory to start up a second copy of
- X COMMAND.COM with the LARN command `!'. If there isn't enough
- X memory for COMMAND.COM, LARN will clear the screen and prompt
- X with "A>" until return is struck, then go back to the game.
- X
- X If "ramlevels" is not specified, a value of 14 is used. If
- X "number" is less than 14, LARN will use a swapfile to store the
- X oldest levels. Note that a level takes about 8K of memory.
- X
- X rawio
- X This option causes the input and output of your computer to be
- X switched to "raw" mode. The advantage of this is faster output
- X and better handling of special characters ^S and ^P.
- X
- X =========== WARNING ==========
- X Some computers (eg. DEC Rainbows) hang if rawio is attempted.
- X ==============================
- X
- X swapfile: filename
- X This is the name of the swap file that will be used if ramlevels
- X is less than 14. If all the levels fit in memory, no swap file
- X will be used. You may want to put the swapfile on a RAMdisk.
- X If "swapfile" is not specified, LARN.SWP in directory larndir
- X will be used.
- X
- X
- X
- X The following are options found in UNIX LARN as well:
- X
- X auto-pickup
- X Starts you out in 'automatic pickup' mode. Whenever the player
- X moves onto an object, it will be picked up. This mode can be
- X toggled with the '@' command while in the game.
- X
- X bold-objects
- X By specifying this option, all objects in the game will be
- X highlighted. The 'highlight-objects' and 'inverse-objects'
- X specify which highlighting method will be used.
- X
- X The default is non-bold objects, except if the 'original-objects'
- X option is specified, when it is *forced* on (to distinguish
- X monsters and objects that are represented by the same
- X character).
- X
- X enable-checkpointing
- X With this option, the game is saved every 400 moves. If your
- X system crashes it is possible to recover from the last checkpoint
- X file (LARN.CPK in the LARN directory) with the command "larn ++".
- X
- X highlight-objects
- X If the 'bold-objects' option is specified, this option causes
- X objects to be highlighted with bolding.
- X
- X inverse-objects
- X If the 'bold-objects' option is specified, this option causes
- X objects to be highlighted with inverse video. The default is
- X 'highlight-objects'.
- X
- X monster: name
- X Sets the name of a monster. If the name has a space in it,
- X enclose it in double quotes (eg "tooth fairy"). The leading
- X character determines which monster the name goes with (e.g.
- X "monster: bee" and "monster: Buzzbomb" change the names of
- X bugbears and Bats, respectively).
- X
- X name: yourname
- X Sets the name of the player. If you want a space in your name,
- X enclose it in double quotes (eg "Mad Max").
- X
- X no-introduction
- X Skip displaying the opening messages.
- X
- X no-beep
- X Disable sound from the speaker.
- X
- X original-objects
- X Like 'prompting' mode, this mode is provided for compatibility
- X with LARN V12.0. By specifying this option, the characters
- X used to show objects in the game are the same as in 12.0. The
- X default is to use characters that are closer to those used with
- X HACK, ROGUE and MORIA.
- X
- X prompt-on-objects
- X By specifying this option, you enable 'prompting' mode. In this
- X mode, the player is prompted for the action to perform when
- X encountering an object (e.g. 'Eat, pick up, or ignore?').
- X Prompting mode is provided for compatibility with LARN V12.0, and
- X is off by default.
- X
- X savefile: filename
- X The filename to use for saving the game. The default is LARN.SAV
- X in the LARN directory. For a 2-floppy system you might try
- X B:LARN.SAV if the LARN directory is on the A disk drive.
- X
- X
- X 6. Command line options
- X -----------------------
- X
- X There are several command line options that can modify the behavior of
- X LARN. These are:
- X
- X -o optionfile Use this as the option file rather than LARN.OPT. As
- X with LARN.OPT, the current directory then directories
- X along your path are searched for this file which
- X supplies configuration information.
- X
- X -s Show scores.
- X
- X -l Show log file. You have to know the Wizard's password
- X to do this.
- X
- X -i Show all scores including the inventories of dead
- X players.
- X
- X -c Create a new score file. You have to know the Wizard's
- X password to do this. Erasing LARN.SCR has the same
- X effect.
- X
- X -n No welcoming message. Prevents printing of the short
- X introduction to LARN. Putting the "no-introduction"
- X configuration option in LARN.OPT has the same effect.
- X
- X -# Where # is a number from 0 to 9. This sets the
- X difficulty of LARN to this level. Normally, LARN
- X starts out with difficulty 0 and increases in
- X difficulty by 1 when you win at the current level.
- X Thus the game automatically gets more difficult.
- X
- X -h A help screen that shows the command line arguments.
- X
- X -p Prompt for actions on objects. Specifying the
- X 'prompt-on-objects' option in LARN.OPT has the same
- X affect.
- X
- X ++ Restore a game from a checkpoint file. If you have
- X checkpointing enabled (with the "enable-checkpointing"
- X configuration option in LARN.OPT) then LARN writes a
- X checkpoint file every 400 moves. Should your system
- X crash you can recover the game from the checkpoint file
- X with this command line option
- X
- X For example: "larn -n -o bobslarn.opt" starts up LARN with no
- X introductory message and uses bobslarn.opt file for configuration
- X options. "larn ++" tries to restore LARN from a checkpoint file.
- X
- X
- X 7. TERMCAP
- X ----------
- X
- X LARN uses the UNIX "termcap" to select escape sequences to be sent to
- X the terminal driver (either ANSI.SYS or NANSI.SYS) to change video modes.
- X When LARN starts up, it checks in the environment for the variable called
- X "TERM". The DOS command:
- X set TERM ibmpc-ega
- X will give the environment variable "TERM" the value "ibmpc-ega". By
- X default, LARN assumes the value of TERM is "ibmpc-mono".
- X
- X Then LARN looks in the file called "TERMCAP" for a termininiefinition
- X with the same name as the value of TERM. LARN first looks for TERMCAP in
- X the current directory, then in directory "\ETC" (the normal UNIX place),
- X then in directories along your PATH.
- X
- X The TERMCAP file uses 2 letter codes to describe each escape sequence
- X and \E to mean ESC (the escape character is decimal 27). Each entry is
- X enclosed in colons. For example, to start underscore mode on a monochrome
- X display, we want to send the sequence "ESC[4m". This looks like
- X ":us=\E4m:" as a termcap entry.
- X
- X The following sequences are used by LARN:
- X
- X ti terminal initialization. You could have something like:
- X :ti=\E44;37m:
- X which would mean to select blue background and white foreground.
- X
- X te terminal end. To reset your terminal to white on black:
- X :te=\E0m:
- X
- X so stand out. Select red forground, keeping the blue background:
- X :so=\E31m:
- X
- X se standout end. Back to white on blue:
- X :se=\E44;37m:
- X
- X al insert line. This is *not* available in ANSI.SYS, so remove this
- X entry if you're using ANSI.
- X
- X dl delete line. This is *not* available in ANSI.SYS, so remove this
- X entry if you're using ANSI.
- X
- X If you want to make your own TERMCAP entry, copy the "ibmpc-mono"
- X entry, replace the name (eg use "ibmpc-color" or "ibmpc-ega" or whatever),
- X then replace the sequences with whatever you please. The possible escape
- X sequences are generally listed in the DOS manual in the description of
- X ANSI.SYS, as well as in the NANSI.DOC file.
- X
- X Remember to change the environment variable "TERM" to reflect which
- X TERMCAP entry you want! You should probably put a "set TERM=..." line in
- X your AUTOEXEC.BAT file.
- X
- X
- X 8. WIZARD mode
- X --------------
- X
- X There is a WIZARD mode for testing features of the game. To get into
- X WIZARD mode, type in an underscore "_" and answer the prompt for the
- X password with "pvnert(x)". Wizards are non-scoring characters that get
- X enlightenment, everlasting expanded awareness and one of every object in
- X the game.
- X
- X
- X 9. History and Other Information
- X --------------------------------
- X
- X Noah Morgan originally created LARN 12.0 and released the UNIX
- X version to the USENET in 1986. Don Kneller ported the UNIX
- X version to MSDOS (both IBM PCs and DEC Rainbows).
- X
- X Kevin Routley has been working on LARN enhancements on and off for
- X the past two years. Version 12.1 had a limited distribution.
- X Version 12.2 is the last version from Kevin that will maintain
- X savefile compatibility with version 12.0 savefiles. Future
- X versions (if any) will be released as Shareware.
- X
- X Other editions of Larn have been distributed by others, namely
- X LARN13 and Ultra-Larn. For better or for worse, neither of these
- X versions were as 'true' to the original concepts and feel of Larn
- X 12.0.
- X
- X I hope you enjoy this version of LARN. Please send any questions,
- X suggestions, requests, or comments regarding LARN and LARN V12.2
- X in particular to:
- X
- X Kevin Routley
- X 421 Midhurst Road
- X Nashua, NH 03062
- X
- X July 1, 1990
- END_OF_FILE
- if test 18526 -ne `wc -c <'larn122.doc'`; then
- echo shar: \"'larn122.doc'\" unpacked with wrong size!
- fi
- # end of 'larn122.doc'
- fi
- if test -f 'tgetstr.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'tgetstr.c'\"
- else
- echo shar: Extracting \"'tgetstr.c'\" \(6347 characters\)
- sed "s/^X//" >'tgetstr.c' <<'END_OF_FILE'
- X/************************************************************************
- X * *
- X * Copyright (c) 1982, Fred Fish *
- X * All Rights Reserved *
- X * *
- X * This software and/or documentation is released for public *
- X * distribution for personal, non-commercial use only. *
- X * Limited rights to use, modify, and redistribute are hereby *
- X * granted for non-commercial purposes, provided that all *
- X * copyright notices remain intact and all changes are clearly *
- X * documented. The author makes no warranty of any kind with *
- X * respect to this product and explicitly disclaims any implied *
- X * warranties of merchantability or fitness for any particular *
- X * purpose. *
- X * *
- X ************************************************************************
- X */
- X
- X
- X/*
- X * LIBRARY FUNCTION
- X *
- X * tgetstr extract string capability from termcap entry
- X *
- X * KEY WORDS
- X *
- X * termcap
- X *
- X * SYNOPSIS
- X *
- X * char *tgetstr(id,area)
- X * char *id;
- X * char **area;
- X *
- X * DESCRIPTION
- X *
- X * Gets the string capability for <id>, placing it in
- X * the buffer at *area, and advancing *area to point
- X * to next available storage.
- X *
- X * For example, if the following capabilities are
- X * in the termcap file:
- X *
- X * ZZ=zzzz
- X * YY=yyyyyy
- X * WW=www
- X *
- X * then successive calls using YY, ZZ, and WW will
- X * build the following buffer:
- X *
- X * yyyyyy0zzzz0www0
- X *
- X * The first call will return a pointer to yyyyyy, the
- X * second will return a pointer to zzzz and the third
- X * will return a pointer to www. Note that each
- X * string is null terminated, as are all C strings.
- X *
- X * Characters preceded by the carot character (\136)
- X * are mapped into the corresponding control character.
- X * For example, the two character sequence ^A becomes
- X * a single control-A (\001) character.
- X *
- X * The escape character is the normal C backslash and
- X * the normal C escape sequences are recognized, along
- X * with a special sequence for the ASCII escape character
- X * (\033). The recognized sequences are:
- X *
- X * \E => '\033' (ASCII escape character)
- X * \b => '\010' (ASCII backspace character)
- X * \f => '\014' (ASCII form feed character)
- X * \n => '\012' (ASCII newline/linefeed char)
- X * \r => '\015' (ASCII carriage return char)
- X * \t => '\011' (ASCII tab character)
- X * \ddd => '\ddd' (arbitrary ASCII digit)
- X * \x => 'x' (ordinary ASCII character)
- X *
- X */
- X
- X#include <stdio.h>
- X#include <ctype.h>
- X#ifdef VMS
- X# define index strchr
- X#endif VMS
- X
- X#ifdef ULTRIX
- X# include <strings.h>
- X
- X#endif
- X
- Xextern char *_tcpbuf; /* Termcap entry buffer pointer */
- X
- X/*
- X * PSEUDO CODE
- X *
- X * Begin tgetstr
- X * Initialize pointer to the termcap entry buffer.
- X * While there is a field to process
- X * Skip over the field separator character.
- X * If this is the entry we want then
- X * If the entry is not a string then
- X * Return NULL.
- X * Else
- X * Transfer string and rtn pointer.
- X * End if
- X * End if
- X * End while
- X * Return NULL
- X * End tgetstr
- X *
- X */
- X
- Xchar *tgetstr(id,area)
- Xchar *id;
- Xchar **area;
- X{
- X char *bp;
- X#ifdef MSDOS
- X extern char *index();
- X#endif
- X char *decode();
- X
- X bp = _tcpbuf;
- X while ((bp = (char *)index(bp,':')) != NULL) {
- X bp++;
- X if (*bp++ == id[0] && *bp != NULL && *bp++ == id[1]) {
- X if (*bp != NULL && *bp++ != '=') {
- X return(NULL);
- X } else {
- X return(decode(bp,area));
- X }
- X }
- X }
- X return(NULL);
- X}
- X
- X/*
- X * INTERNAL FUNCTION
- X *
- X * decode transfer string capability, decoding escapes
- X *
- X * SYNOPSIS
- X *
- X * static char *decode(bp,area)
- X * char *bp;
- X * char **area;
- X *
- X * DESCRIPTION
- X *
- X * Transfers the string capability, up to the next ':'
- X * character, or null, to the buffer pointed to by
- X * the pointer in *area. Note that the initial
- X * value of *area and *area is updated to point
- X * to the next available location after the null
- X * terminating the transfered string.
- X *
- X * BUGS
- X *
- X * There is no overflow checking done on the destination
- X * buffer, so it better be large enough to hold
- X * all expected strings.
- X *
- X */
- X
- X/*
- X * PSEUDO CODE
- X *
- X * Begin decode
- X * Initialize the transfer pointer.
- X * While there is an input character left to process
- X * Switch on input character
- X * Case ESCAPE:
- X * Decode and xfer the escaped sequence.
- X * Break
- X * Case CONTROLIFY:
- X * Controlify and xfer the next character.
- X * Advance the buffer pointer.
- X * Break
- X * Default:
- X * Xfer a normal character.
- X * End switch
- X * End while
- X * Null terminate the output string.
- X * Remember where the output string starts.
- X * Update the output buffer pointer.
- X * Return pointer to the output string.
- X * End decode
- X *
- X */
- X
- Xstatic char *decode(bp,area)
- Xchar *bp;
- Xchar **area;
- X{
- X char *cp, *bgn;
- X char *do_esc();
- X
- X cp = *area;
- X while (*bp != NULL && *bp != ':') {
- X switch(*bp) {
- X case '\\':
- X bp = do_esc(cp++,++bp);
- X break;
- X case '^':
- X *cp++ = *++bp & 037;
- X bp++;
- X break;
- X default:
- X *cp++ = *bp++;
- X break;
- X }
- X }
- X *cp++ = (char) NULL;
- X bgn = *area;
- X *area = cp;
- X return(bgn);
- X}
- X
- X/*
- X * INTERNAL FUNCTION
- X *
- X * do_esc process an escaped sequence
- X *
- X * SYNOPSIS
- X *
- X * char *do_esc(out,in);
- X * char *out;
- X * char *in;
- X *
- X * DESCRIPTION
- X *
- X * Processes an escape sequence pointed to by
- X * in, transfering it to location pointed to
- X * by out, and updating the pointer to in.
- X *
- X */
- X
- X/*
- X * PSEUDO CODE
- X *
- X * Begin do_esc
- X * If the first character is not a NULL then
- X * If is a digit then
- X * Set value to zero.
- X * For up to 3 digits
- X * Accumulate the sum.
- X * End for
- X * Transfer the sum.
- X * Else if character is in remap list then
- X * Transfer the remapped character.
- X * Advance the input pointer once.
- X * Else
- X * Simply transfer the character.
- X * End if
- X * End if
- X * Return updated input pointer.
- X * End do_esc
- X *
- X */
- X
- Xstatic char *maplist = {
- X "E\033b\bf\fn\nr\rt\t"
- X};
- X
- Xchar *do_esc(out,in)
- Xchar *out;
- Xchar *in;
- X{
- X int count;
- X char ch;
- X char *cp;
- X
- X if (*in != NULL) {
- X if (isdigit(*in)) {
- X ch = 0;
- X for (count = 0; count < 3 && isdigit(*in); in++) {
- X ch <<= 3;
- X ch |= (*in - '0');
- X }
- X *out++ = ch;
- X } else if ((cp = (char *)index(maplist,*in)) != NULL) {
- X *out++ = *++cp;
- X in++;
- X } else {
- X *out++ = *in++;
- X }
- X }
- X return(in);
- X}
- END_OF_FILE
- if test 6347 -ne `wc -c <'tgetstr.c'`; then
- echo shar: \"'tgetstr.c'\" unpacked with wrong size!
- fi
- # end of 'tgetstr.c'
- fi
- echo shar: End of archive 6 \(of 11\).
- cp /dev/null ark6isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 11 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-